// 力扣201. 数字范围按位与
class Solution {
    public int rangeBitwiseAnd(int left, int right) {
        int shift = 0;
        while (left < right) { // 直到 left == right, 当 left == right 的时候就说明找到了公共前缀
            left >>= 1;
            right >>= 1;
            shift++; // 记录左移了多少步
        }
        return left << shift; // 当 left == 0 时平移多少步都是0, 而且left == 0时right == 0
    }
}

// 力扣172. 阶乘后的零
class Solution1 {
    public int trailingZeroes(int n) {
        int count = 0;
        while (n > 0) {
            n /= 5;
            count += n;
        }
        return count;
    }
}